package com.planesnet.sqlite2.db;
import java.util.ArrayList;
import java.util.List;

import com.planesnet.sqlite2.Actividad;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;

public class ActividadDB {


		// Database fields
		private SQLiteDatabase database;
		private ActividadDBHelper dbHelper;
		private String[] allColumns = { ActividadDBHelper.COLUMNA_ID,
				ActividadDBHelper.COLUMNA_NOMBRE};

		public ActividadDB(Context context) {
			dbHelper = new ActividadDBHelper(context);
		}

		public void open() throws SQLException {
			database = dbHelper.getWritableDatabase();
		}

		public void close() {
			dbHelper.close();
		}

		public Actividad insert(Actividad actividad) {
			ContentValues values = new ContentValues();
			values.put(ActividadDBHelper.COLUMNA_NOMBRE, actividad.getNombre());
			long insertId = database.insert(ActividadDBHelper.TABLA, null,
					values);
			// To show how to query
			Cursor cursor = database.query(ActividadDBHelper.TABLA,
					allColumns, ActividadDBHelper.COLUMNA_ID + " = " + insertId, null,
					null, null, null);
			cursor.moveToFirst();
			return cursorToActividad(cursor);
		}

		public void update(Actividad actividad) {
			ContentValues values = new ContentValues();
			values.put(ActividadDBHelper.COLUMNA_ID, actividad.getId());
			values.put(ActividadDBHelper.COLUMNA_NOMBRE, actividad.getNombre());
			String where = "id = " + actividad.getId();
			
			database.update(ActividadDBHelper.TABLA, values,
					where, null);
			
		}
		public void delete(Actividad actividad) {
			long id = actividad.getId();
			System.out.println("Actividad deleted with id: " + id);
			database.delete(ActividadDBHelper.TABLA, ActividadDBHelper.COLUMNA_ID
					+ " = " + id, null);
		}

		public List<Actividad> getActividades() {
			List<Actividad> Actividads = new ArrayList<Actividad>();
			Cursor cursor = database.query(ActividadDBHelper.TABLA,
					allColumns, null, null, null, null, null);
			cursor.moveToFirst();
			while (!cursor.isAfterLast()) {
				Actividad Actividad = cursorToActividad(cursor);
				Actividads.add(Actividad);
				cursor.moveToNext();
			}
			// Make sure to close the cursor
			cursor.close();
			return Actividads;
		}

		private Actividad cursorToActividad(Cursor cursor) {
			Actividad Actividad = new Actividad();
			Actividad.setId(cursor.getLong(0));
			Actividad.setNombre(cursor.getString(1));
			return Actividad;
		}
	}
